//
//  WLBaseCollectionViewLayerModel.h
//  xiacai_ios_v6
//
//  Created by shushui on 2018/4/18.
//  Copyright © 2018年 王振标. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@class WLBaseCollectionViewLayerSection,WLBaseCollectionViewLayerRow;
@interface WLBaseCollectionViewLayerModel : NSObject
/** section数量 */
@property(nonatomic,strong) NSMutableArray<WLBaseCollectionViewLayerSection *> *viewLayer;


-(id)getCellData:(NSIndexPath *)indexPath;
-(WLBaseCollectionViewLayerRow *)getCellModel:(NSIndexPath *)indexPath;
-(WLBaseCollectionViewLayerSection *)getSectionModel:(NSIndexPath *)indexPath;

@end
@interface WLBaseCollectionViewLayerSection : NSObject
/** section 样式区别 */
@property(nonatomic,strong) NSString *type;
/** section 当前坐标 */
@property (nonatomic,strong) NSIndexPath *indexPath;

#pragma mark -- section 内视图位置
/** section 内边距 */
@property(nonatomic,assign) UIEdgeInsets insetForSection;

/** section内，cell的间距 垂直 间距 */
@property(nonatomic,assign) CGFloat verticalSection;


/** section内，cell的间距 水平 间距 */
@property(nonatomic,assign) CGFloat horizontalSection;
/** section内，cell的间距 水平 item个数 */
@property(nonatomic,assign) NSInteger horizontalCount;
/** section内，cell的 水平 最大宽度 */
@property(nonatomic,assign) CGFloat horizontalMaxWidth;
/** 获取单个itemCell 的宽度 */
-(CGFloat)getCellWidth;
/** 获取单个itemCell 的大小 */
-(CGSize)getCellSizeHeight:(CGFloat)height;

#pragma mark -- section 头视图
/** section 头试图大小 */
@property(nonatomic,assign) CGSize headerSize;
/** 默认的 头试图 的Class */
@property (readwrite) Class headerViewClass;
/** 默认的 头试图 的Nic创建的Class */
@property (readwrite) Class headerNibClass;
/** section 头试图数据 */
@property(nonatomic,strong) id headerData;

#pragma mark -- section 脚视图
/** section 脚试图大小 */
@property(nonatomic,assign) CGSize footSize;
/** 默认的 脚试图 的Class */
@property (readwrite) Class footViewClass;
/** 默认的 脚试图 的Nic创建的Class */
@property (readwrite) Class footNibClass;
/** section 脚试图数据 */
@property(nonatomic,strong) id footData;

/** 组的数据 */
@property (nonatomic,strong) id data;

/** row 数据 */
@property(nonatomic,strong) NSMutableArray <WLBaseCollectionViewLayerRow *> *item;
@end
@interface WLBaseCollectionViewLayerRow : NSObject
/** row 单个cell 的标签 区分cell用途 */
@property (nonatomic,strong) id type;
/** row 当前坐标 */
@property (nonatomic,strong) NSIndexPath *indexPath;
/** row 单个cell 的 Key */
@property(nonatomic,strong) NSString *keyId;
/** 默认的cell的Class */
@property (readwrite) Class viewClass;
/** 默认的cell的Nic创建的Class */
@property (readwrite) Class nibClass;
/** row 单个cell 大小 */
@property (nonatomic,assign) CGSize cellSize;
/** 单个cell 的数据 */
@property (nonatomic,strong) id data;
/** 单个cell 额外 数据 */
@property (nonatomic,strong) id otherData;

@end
